A grafikus megjelenítéshez a meglévőkön kívül az alábbi osztályokat kellett még felvennünk:
\subsubsection{\tt Renderer}

\paragraph{Felelősség}

A megjelenítést végző osztályok absztrakt őse, valamint a megjelenítőket és a modellbeli osztályokat összerendelő (statikus) HashMap tárolója. Leszármozattai a \verb+GraphicRenderer+ és a prototípusban is működő \verb+ConsoleRenderer+ (valamint azok további leszármazottai, az egyes modellbei osztályokra specializálva).

\paragraph{Ősosztályok}

(nincs).

\paragraph{Interfészek}

(nincs).

\paragraph{Attribútumok}

\begin{itemize}

	\item \verb+private static HashMap<Class, Renderer> renderers+: A típusinformációt és a renderert összerendelő map.

\end{itemize}

\paragraph{Metódusok}

\begin{itemize}

	\item \verb+public static Renderer getRenderer( Object object )+: Visszaadja az adott példány osztályához tartozó renderert. 

	\item \verb+public static void registerRenderer( Class c, Renderer r )+: Egy osztály-renderer összerendelés felvétele.

	\item \verb+public abstract void render( Object object )+: A renderelést végző metódus.

\end{itemize}

\subsubsection{\tt GraphicRenderer (és leszármazottai)}

\paragraph{Felelősség}

A grafikus felületen történő megjelenítést végző osztályok közös ősosztálya. Minden modellbeli, megjelenítendő osztályhoz tartozik egy specializált változata.

\paragraph{Ősosztályok}

\verb+Renderer+

\paragraph{Interfészek}

\paragraph{Attribútumok}

\begin{itemize}
	\item \verb+protected Canvas canvas+: A rajzolás "célpontja".
\end{itemize}


\subsubsection{\tt GameObject}

\paragraph{Felelősség}

A megjelenítendő objektumok - újonnan bevezetett - közös ősosztálya. 

\paragraph{Ősosztályok}

\verb+Renderer+

\paragraph{Interfészek}

\paragraph{Attribútumok}

\begin{itemize}
	\item \verb+protected Canvas canvas+: A rajzolás "célpontja".
\end{itemize}
